// 乒乓球筐
#include <iostream>
#include <string>
using namespace std;

int main() {
    string s1, s2;
    while (cin >> s1 >> s2) {
        bool ret = true;
        int hash[26] = {0};
        for (char ch : s1) hash[ch - 'A']++;

        for (char ch : s2) {
            if (--hash[ch - 'A'] < 0) {
                ret = false;
                break;
            }
        }

        cout << (ret ? "Yes" : "No") << endl;
    }
    return 0;
}

// 组队竞赛
#include <iostream>
#include <algorithm>
using namespace std;

const int N = 100010;
long long arr[N * 3] = {0};

int main() {
    int n = 0;
    cin >> n;
    for(int i = 0; i < 3 * n; i++)
        cin >> arr[i];
    sort(arr, arr + 3 * n);
    int pos = 3 * n - 2, count = 0;
    long long ret = 0;
    while(count < n)
    {
        ret += arr[pos];
        pos -= 2;
        ++count;
    }
    cout << ret;
    return 0;
}


// 删除相邻数字的最大分数
#include <iostream>
using namespace std;

const int N = 1e4 + 10;

int sum[N] = {0};
int f[N] = {0}, g[N] = {0};

int main() {
    int n = 0;
    cin >> n;
    int x;
    for(int i = 0; i < n; i++)
    {
        cin >> x;
        sum[x] += x;
    }
    for(int i = 1; i < N; i++)
    {
        f[i] = g[i - 1] + sum[i];
        g[i] = max(g[i - 1], f[i - 1]);
    }
    cout << max(f[N - 1], g[N - 1]);
    return 0;
}
